﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Biciq.Datos;
using System.Collections.ObjectModel;

namespace Biciq.Silverlight.UI
{
    public class ControlOperacionesVistaModelo:VistaModeloBase
    {
        #region Campos
        private ObservableCollection<VistaProceso> _operaciones;
        private SeguimientoChildVista _seguimientoVista;
        private SeguimientoVistaModelo _seguimientoVistaModelo;
      
        #endregion

        #region Propiedades
        public ObservableCollection<VistaProceso> Operaciones
        {
            get { return _operaciones; }
            set 
            {
                _operaciones = value;
                RaisePropertyChanged("Operaciones");
            }
        }
        #endregion

        #region Constructores
        public ControlOperacionesVistaModelo()
        {
            CargarOperaciones();
        }
        #endregion
        #region Propiedades
        private void CargarOperaciones()
        {
            BiciqContexto.VistaProcesos.Clear();
            BiciqContexto.Load(BiciqContexto.ConsultarEjecucionOperacionesQuery()).Completed += delegate
            {
                Operaciones = new ObservableCollection<VistaProceso>(BiciqContexto.VistaProcesos);
                var op = Operaciones;
            };

        }
        #endregion
        #region Métodos Píblicos
        public override void Seleccionar(object parametro)
        {
            var bi = parametro as VistaProceso;
            _seguimientoVista = new SeguimientoChildVista();
            _seguimientoVistaModelo = new SeguimientoVistaModelo(bi.IdBicicleta);
            _seguimientoVista.DataContext = _seguimientoVistaModelo;

            _seguimientoVistaModelo.EventoCerrarEditor += delegate
            {
                _seguimientoVista.Close();

            };
            _seguimientoVista.Show();


        }
        public override void Editar(object parametro)
        {
            var bi = parametro as VistaProceso;
            _seguimientoVista = new SeguimientoChildVista();
            _seguimientoVistaModelo = new SeguimientoVistaModelo(bi.IdCliente.Value, true);
            _seguimientoVista.DataContext = _seguimientoVistaModelo;

            _seguimientoVistaModelo.EventoCerrarEditor += delegate
            {
                _seguimientoVista.Close();

            };
            _seguimientoVista.Show();
        }

        #endregion
    }

}
